Simple Multidescer
This multidescer works by stringing together any number of text strings into a single coherent whole, with a single space separating each fragment. Unlike more complicated instances of multi-descer code, it doesn't bother defining parts of the body or alternate forms. Important: This is completely independent from the multidescer code offered by the game. Origins This code has been in circulation amongst the MU*ing community since at least 1995, where it was encountered by this author on the now long defunt World of Darkness MUSH named Elysium (http://vampirerpg.free.fr/mush.html). Though the identity of the coder who created it has sadly been lost to the mists of time, it was a woman, and she may have created it on AmberMUSH. The Code In order to use the code, type the following commands into your game client. You can of course simply cut & paste from here. :@lock/use me=me :@set me=!no_command :@desc me=u(do_descme) :&do_descme me=[iter(v(curdesc),u(me/d_##))] :&do_adddesc me=$..add *=*:&d_%0 me=%1;&desclist me=setunion(v(desclist),%0);@pemit/silent me=Description "%0" stored. :&do_remdesc me=$..rem *:&d_%0 me;&desclist me=remove(v(desclist),%0);@pemit/silent me=Description "%0" removed. :&do_listall me=$..list:@pemit/silent me=Descriptions stored:%b%b%bu(desclist) :&do_listdesc me=$..list *:@pemit/silent me=Description "%0":%r[u(me/d_%0)] :&do_setdesc me=$..set *:&curdesc me=%0;@pemit/silent me=Current Description set to %0 :&do_status me=$..status:@pemit/silent me=Current Description is: u(curdesc) Porting the code to other games Wardrobes On games where you can @create your own objects, you may create an object to serve as a wardrobe to prevent spamming anyone examining your character. In that case, you can replace the bolded terms in the code above with the #dbref of that object. In such an instance, before typing in the above code, type the following: :@create Wardrobe :@set Wardrobe=sticky :@set Wardrobe=dark :@set Wardrobe=safe :@link Wardrobe=me Here, replace Wardrobe with the #dbref (if you're unfamiliar with the term, it means the "#" and number you'll see when you @create the object). !no_command Different games use different flags to notify its code that you can use $-commands. You will need to find out from the staff or players on those games which flag is appropruate and substitute it for the one used here. Using the Descer In the following examples, anything contained within < > brackets is being used as an example. Anything else is an actual command. Adding a fragment :..add = The name must be a single word, and generally should be descriptive (such as head or dress1) and end with a full stop (aka a period). The text may contain substiution characters or ansi code. Removing a fragment :..rem Showing your complete wardrobe :..list Examining a fragment :..list Creating your Description :..set Checking what you're "wearing" :..status Examples & Tips An actual description The command :..set basic hair hairstyle1 r eyes ears earrings1 creates the following description. The different colours show which fragments are which. :She is in her mid twenties and only of average height, say around 5'7" in bare feet, her skin a rich reddish brown colour, the lips of her expressive mouth somewhat darker. Her features aren't beautiful - her nose is a little too long, her jaw a little too strong, her mouth a little too big - and her physique isn't that of an athlete or a super model, but there is about her such a sense of charm that it doesn't seem to matter all that much. Her hair is indigo-black and very soft to the touch, a few whispy tendrils of it escaping from the pony tail that reaches her shoulder blades. :Her eyes are the violet of the sky just before dawn, lambent with the depths of her soul and the har won knowledge it contains. She's had her ears cosmetically altered, for now they taper to delicately pointed tips like those of an elf. Three small gold rings hang from the lobe of each ear. Breaking the text flow You should have noticed the black "r" amidst the rainbow of fragment names and that its position corresponds to the beginning of the second half of the description. To achieve this, add the following fragment. :..add r=%r%t This creates a hard return (%r) and an indent (%t). If you want a blank line to breakup your description, add a second %r, and remove the %t if you don't want an indent. Commonly used descriptions As the point ofa multidescer is to allow you to have multiple descriptions, it's safe to assume there will be a desire to change between them. Let us say that you have a description worked out for your character's civillian activities and another for their job as police officer - you can set up two simple commands to switch between them. :&cmds_desc_street1 me=$+street1:..set basic eyes scarf1 earrings r top3 hands belt2 pants2 boots2 coat1 r :&cmds_desc_work1 me=$+work1:..set basic eyes hat r top1 gloves pants1 boots1 r belt1 gun Thus, by simply typing +street1 you are instantly in your street clothes, while +work1 puts you in your uniform.